Skip to main content

Flash Encryption

warning

This part of the documentation is under developement.

Flash Encryption protects your application binaries and prevents stealing of you intellectual property by encrypting them in flash memory.

In Smowcode, you can use the Flash Encryption feature in 2 ways:

  • Build Tools
  • SC Developer Toolkit Download

Flash Encryption using Build Tools sidebar

  • In order to use Flash Encryption, you need to have a bootloader that supports flash ecryption. This can be done by checking the Use Flash Encryption checkbox.

enable flash encryption in ide

  • Once this is done, you can proceed with progressively flashing your binaries individually at appropriate addresses.

enable flash encryption separate flashing

Note: You would be able to flash the binaries once using this method from the IDE, after which attempting to upload binaries normally will soft-brick your esp32 (continuous rebooting with the error message of Invalid Header). It is therefore advised to use the flashing utility provided in the SC Developer Toolkit

Flash Encryption using Flashing Tool

  • Make sure you have downloaded the latest version of sc_dev_tools.zip
  • Once you have extracted the contents at a location, you can open the flashing utility present in the flashing folder.

flashing utility

  • Here you can choose to Enable or Disable Flash Encryption and then upload your application binaries which could be downloaded using the Download .bin button

Note: Encryption can be enabled/disabled a finite amount of times, after which the device will remain in the last mode of operation specified. The flashing utility notifies you about the remaining number of toggles left.